﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Odense_Kommune.Interfaces;

namespace Odense_Kommune.Model
{
    /// <summary>
    /// Klasse skrevet af Søren Eg Pedersen
    /// </summary>
    public class LeverandørCollection : ILeverandørCol
    {
        #region Variabler
        private List<ILeverandør> _listeafleverandør;
        #endregion

        #region Konstruktør
        public LeverandørCollection()
        {
            ListeafLeverandør = new List<ILeverandør>();
            ListeafLeverandør.Add(new Leverandør("Værested for Kuwait Kurdere", "Gl. Havnekaj 25A", 5000, "Odense C"));
            ListeafLeverandør.Add(new Leverandør("Reden", "Pjentedamsgade 36", 5000, "Odense C"));
            ListeafLeverandør.Add(new Leverandør("Café Paraplyen", "Nørregade 77-79", 5000, "Odense C"));
            ListeafLeverandør.Add(new Leverandør("Kirkens Korshærs Dagvarmestuer", "Pantheonsgade 6/ Østergade 55", 5000, "Odense C"));
            ListeafLeverandør.Add(new Leverandør("Kirkens Korshærs Natvarmestuer", "Pantheonsgade 6/ Østergade 55", 5000, "Odense C"));
            ListeafLeverandør.Add(new Leverandør("Tuba", "Kong Georgsvej 27, 2", 5000, "Odense C"));
        }
        #endregion

        #region Metoder
        public void OpretLeverandør(string navn, string adresse, int postnr, string by)
        {
            foreach (var item in ListeafLeverandør)
            {
                if (item.Navn == navn)
                    throw new Exception("En leverandør med navnet: " + navn + " findes allerede i systemet.");
                else
                    ListeafLeverandør.Add(new Leverandør(navn, adresse, postnr, by));
            }
        }

        public void SletLeverandør(ILeverandør l) { ListeafLeverandør.Remove(l); }

        public ILeverandør RedigerLeverandør(ILeverandør l, string navn, string adresse, int postnr, string by)
        {
            l.Navn = navn;
            l.Adresse = adresse;
            l.Postnummer = postnr;
            l.By = by;
            return l;
        }
        #endregion

        #region Egenskaber
        public List<ILeverandør> ListeafLeverandør { get { return _listeafleverandør; } set { _listeafleverandør = value; } }
        #endregion
    }
}
